package tournoi.stateless;

import java.util.Collection;

import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.Query;

import modele.Arbitre;
import modele.Equipe;
import modele.Joueur;
import modele.Match;
import modele.Tournoi;

public class GetFunction {

	public static Collection<Tournoi> getAllTournoi(EntityManager em) {
		Collection<Tournoi> collec = em.createQuery("From Tournoi t").getResultList();
		return collec;
	}
	
	public static Tournoi getTournoiByName(EntityManager em, String tournoi) {
		Tournoi t = null;
		Query q = em.createQuery("From Tournoi t where t.nom=:tournoi");
		q.setParameter("tournoi", tournoi);
		try {
			t = (Tournoi) q.getSingleResult();
		} catch (NoResultException nre) {
			return null;
		}
		return t;
	}
	
	public static Collection<Equipe> getAllEquipe(EntityManager em) {
		Collection<Equipe> collec = em.createQuery("From Equipe e").getResultList();
		return collec;
	}

	public static Collection<Arbitre> getAllArbitre(EntityManager em) {
		Collection<Arbitre> collec = em.createQuery("From Arbitre a").getResultList();
		return collec;
	}

	public static Arbitre getArbitreById(EntityManager em, Long idArbitre) {
		return em.find(Arbitre.class, idArbitre);
	}
	
	public static Match getMatchById(EntityManager em, long id) {
		return em.find(Match.class, id);
	}
	
	public static Equipe getEquipeById(EntityManager em, long idEquipe) {
		Equipe equipe = (Equipe) em.find(Equipe.class,
				idEquipe);
		return equipe;
	}

	public static Joueur getJoueurById(EntityManager em, long idJoueur) {
		return em.find(Joueur.class, idJoueur);
	}

}
